package cn.piesat.client.utils;

import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * 文件操作工具类
 */
public class FileWriteUtil {

    private File file;

    private static Logger logger = LoggerFactory.getLogger(FileWriteUtil.class);

    /**
     * 验证文件是否存在，不存在则进行创建
     * @param file 文件对象
     * @throws Exception
     */
    public FileWriteUtil(File file) throws Exception {
        if (!file.exists()) {
            if (!file.getParentFile().exists()) {
                synchronized (this) {
                    if (!file.getParentFile().exists()) {
                        file.getParentFile().mkdirs();
                    }
                }
            }
            file.createNewFile();
            logger.info("{}文件创建成功!",file.getName());
        }
        this.file = file;
    }

    /**
     * 写入文件
     * @param value 文件内容
     * @return
     */
    public boolean writeDataValue(String value){
        try {
            FileUtils.writeStringToFile(file,value,StandardCharsets.UTF_8);
            return true;
        } catch (IOException e) {
            return false;
        }
    }

}
